Method for the database-supported selection of products for electronic-commerce applications on the internet

ABSTRACT

The present mechanism offers customers a method for comparing products in electronic-commerce applications. The present invention further involves the accessing of a database management system, in which the user controls the product selection with the aid of control buttons. After data is read out from the database of the database management system and after converting an internal data structure containing the products/objects of the database, a product list can be created. By comparing the products in the product list to criteria for the desired product specified by the customer in the form of a comparison function, the objects selected on the basis of the comparison function can be entered into a result list and can be displayed to the customer. The invention can be used in e-commerce applications on the Internet because, among other things, it can make searching for products easier for the customer.

A relatively new way of offering and selling products is to useelectronic commerce applications through the medium of the Internet.

E-commerce refers to the use of the technical means of electronic datanetworks to promote the economic and marketing processes of a companyand to develop new marketing channels. The individual goals extend fromcorporate communications through the creation of value processes to theselling operation via all market phases. The following areas ofapplication exist for e-commerce applications:

Online shopping, e.g. advertising, product information, interactionbetween customer and seller;

Customer service, e.g. technical documentation, installation andoperating instructions; and

Electronic Data Interchange (EDI), i.e. standardized data interchangebetween companies (including price lists, orders, invoices).

According to Krause, J “Electronic Commerce Geschäftsfelder der Zukunftheute nutzen”, Hanser-Verlag 1998 ISB 3-446-19378-2, the potentialcustomer who has Internet access and wishes to use an e-commerceapplication expects the following:

a complete offering, no fragments;

comprehensive product information;

clear statements regarding price, terms of guarantee, deliveryconditions and service; and

order confirmation by e-mail and, in the case of a lengthy deliveryperiod, a corresponding message.

Described hereinbelow in detail as a known design approach is thee-commerce system of Deutsche Telekom AG (DTAG), which is similar to thee-commerce systems of many other companies.

The basis of the DTAG e-commerce system via the Internet, availableunder www.T- Versand.de, is the standard software Intershop. Intershopis a fully equipped medium which permits a smooth entry into the onlinemarket. Intershop technology goes beyond the typical limits of HTMLpages and opens its own shopping center. Intershop is the firststandardized software world-wide to allow the design of interactive,multimedia online shops. Intershop can be easily combined with existingmerchandising or invoicing systems, can be operated as an autonomoussystem, or both.

The Intershop software programs are interfaced with the WWW serveroffering the HTML pages. Intershop has an integrated database whichkeeps the product catalog data in readiness. At the server end,e-commerce is usually provided by three components:

WWW server

e-commerce applications

database with product catalog

The customer has the following possibilities for going to the homepageof T-Versand of DTAG:

direct entry of the address “www.T-Versand.de” in the browser;

via the Internet pages of DTAG; and

via Internet catalogs.

If the potential customer has Internet access, of whatever technology,he/she can open the desired shop. Seen in practical terms, the customerenters a small store, searches on the homepage for the desireddepartment and reaches the offerings there with just a few mouse clicks.The online shop begins with the selection of the product groups. Inaddition, the customer is able to read the general terms and conditionsof business, to use a lexicon or to directly accept special offers.Furthermore, the customer can register, i.e. he can make himself knownto the system in order to start the later transaction process. If, forexample, the customer has selected the group “T-Net & analog terminals”,he is presented with a further selection in which he can choose betweenvarious orientations of that group. With this selection, the customer isprovided with more detailed explanations about what is offered in thatcategory. That is, the customer ascertains whether he/she is on theright path to the desired product.

In the left-hand menu bar, the customer is able to switch to a differentcategory at any time.

If the customer has selected the link “cord-bound telephones”, he isnext presented with the list of cord-bound terminals as the result. Thecustomer thus arrives at a product selection list after only his thirdselection. This is an important principle which e-commerce shops shouldalways observe. The product selection list now also shows a picture, thename, price and a brief description of the selected telephone. When thecustomer has selected a telephone, he can view the product data sheetwhich indicates the most important features. Here, the customer is ableto take a look at the features and decide on the product. Thereafter,the customer has the following possibilities:

place the telephone in the shopping basket;

go back to the product list; or

follow cross-references (e.g. accessories).

If the customer has decided to place a telephone in the shopping basket,the shopping basket serves the function of storing the products untilthe customer has finally decided to submit his order. The shoppingbasket offers the following functionalities:

add product (with quantity);

remove product from the shopping basket;

display order value;

display terms and conditions of delivery; and

order products in the shopping basket.

In the majority of cases, the customer wishes either to purchase aproduct, to first obtain information about products and then make apurchase, or simply to obtain information about products. If a customerwishes to purchase a product and already knows his goal and usually thedesired product he wishes to select as well, then the customer caneasily make a purchase using the above-described system. However, thosecustomers who are undecided or are seeking information have a moredifficult time. Very often they have to switch pages in order to obtaininformation about the differences between the products on offer. Thereason for this is that products can only be directly compared to eachother by way of the values in the product data sheet. Although thecurrent system offers the presentation of the DTAG catalogue in theInternet with full sales transaction handling, there is not enoughsupport for the customer when searching for that product which issuitable for him. The reason for this in particular is that, owing totheir length, the product lists are of only limited suitability forsearching. Similar products described only by a brief text and a singlepicture can often not be properly differentiated. In order to comparefeatures of products with each other, the customer must always have therespective product data sheet displayed and make a note of the mostimportant features. Only then can he return to the product list and haveanother product or product data sheet displayed in order to compare itsproduct data with the product data of the first product. This procedureplaces very great demands on the customer and is very time-consuming.Especially given high online costs, the customer will consider whethersuch time and effort is justified, since the printed catalogue suppliesthe same information content. It is even more difficult to compareproducts which are assigned to different categories. Here, the procedureis similar to that described above, only in this case, it is alsonecessary to switch between categories. An example of this is thecomparison of D-Netz [D-Network] telephones with C-Netz [C-Network]telephones. If a customer does not have a certain basic knowledge or hasnot obtained information on certain products in advance, he will beoverwhelmed by the product information in the product data sheet. Inparticular, he will not see the most important features of the productsat a glance. A further deficiency is to be seen in the fact that thesystem offers the customer little in the way of assistance for solvinghis problem.

Proceeding from this related art, the object of the present invention isto develop a method for the customer-specific selection of products froma product catalogue via the Internet, in which the complete offering(product list) and comprehensive product information are retained, whilethe aforementioned deficiencies are eliminated. The invention isintended to provide the customer with a better and faster possibilityfor comparing products.

The objective is achieved by a method according to claim 1.

Known e-commerce applications are based on a database in which theproducts of the catalogue to be represented are managed and maintained.

However, the medium of the Internet makes it possible for the customerto view products from the databases much more efficiently than ispossible with the known e-commerce applications, in which the relevantinformation, such as the current price, is not read out from thedatabase and output until the product has been called up.

The method of the present invention, referred to hereinbelow as theproduct finder, is likewise based on a product catalogue. The differencewith respect to known e-commerce applications is based on the fact thatthere is no tie to a group of products, but rather that certain productsare selected with the aid of parameters defined beforehand by thecustomer during the online access.

The product finder includes static components which do not change orwhich are always executed in identical manner, and dynamic componentswhich adapt to the parameters that have been previously defined, forexample, by an administrator of the product finder. The effect of theseparameters is that the correct components are set up in the userinterface of the product finder, that the correct data are retrievedfrom the database, and that the data are also correctly furtherprocessed again with interaction of the user.

The components of a universally useable product finder are:

database manager;

product list;

quantity of control buttons;

results list;

program control; and

parameter list.

In addition to static constituents, the first five components also havedynamic constituents. On the other hand, the new component, theparameter list, is used by all the other components to initialize theproduct finder.

The most important information for a parameter of the parameter list is:

table name;

attribute name;

control-button type;

control-button label;

initial value of the control button; and

comparison operator.

It is useful to introduce further parameters in order to make theproduct finder universal in its application. Such parameters may be, forexample:

path of the database;

path of the product images;

colors in the product finder; and

font in the product finder.

Table name and attribute name are relevant for the database in order toretrieve correct data for the internal data structure.

Control-button type, control-button label and initial value of thecontrol button are important for the graphical interface and for theprocessing of the data from their value ranges. In the case ofinteractive selection, the comparison operator connects a value from thestock of values of the control button, to attributes of the internaldata structure in order to compare them and to define the valid objects.

However, additional settings can also be introduced into the parameterlist, such as the path of the images, the path of the database andfurther settings which are useful for the environment of the productfinder. This information allows easy adaptation of the product finder tonew areas of application.

The following static program elements form the basic skeleton of theproduct finder:

general program control;

function for graphic display; and

button bar

It is also advantageous to statically integrate certain control buttonsfor products (e.g. price of the product). Furthermore, it is useful ifdatabase accesses, which are performed within the product finder atevery initialization and processing, are always performed. The graphicalinterface of the product finder includes four components:

result list field;

displayed picture;

button bar; and

groupings of control buttons.

Any number of such groupings should be produced which, in turn, maycontain any number of control buttons.

The method for the database-supported selection of products forelectronic-commerce applications on the Internet is based on theaccessing of a database management system in which the user controls theselection of products with the aid of control buttons. As shown in FIG.1, the method is composed of a plurality of method steps.

In the first method step, after the system has been started, data areread from the database of the database management system and areconverted into an internal data structure (product of the productfinder). A product list is formed from the instances of the product datastructure.

In the second method step, a check is made with the aid of a comparisonfunction as to whether the objects in the product list are valid. Thevalid objects are copied into a result list (list of valid objects). Thecomparison function is triggered by invoking the product finder or whena control button is changed by the user. In response to a change ofstate of a control button, the validity of the objects in the productlist is checked on the basis of a comparison function compiled by theuser/customer in accordance with his/her requirements. The comparisonfunction is composed of the selected values of the control buttons, theassociated attribute values of an object in the product list and acomparison operator for each selected value of the control button.

In a third method step, the valid objects determined on the basis of thecomparison function are entered into a result list.

In a fourth method step, the result list is displayed to the user in aresult list field. The user can make his/her selection on the basis ofthe objects in the result list field.

In the following, each step of the process sequence is explained ingreater detail. First is a description of how the individual methodsteps are executed. It is then indicated which parameters are defined bythe administrator. The data of the database are identified by tablenames and attribute names. In the product finder, these data areassigned to variables and formats. If a database is searched accordingto tables and attributes, the result obtained is a data record list. Inorder to store all the products in the product finder, there must be asimilar data record list in the data structure of the product finder.This is implemented in the product finder, the data structure of theproduct finder containing a variable for each attribute of the databasewhich is queried for the product finder. The result is that, for all theattributes of the database, a series of variables which preciselydetermines a product or product class is defined as a counterpart. Inorder to insert all the products into the product finder, each productis set up as an object in a list. This data list is hereinafter referredto as the product list. In the following table, the respective variableof the product finder is put opposite the attributes from the database.A series of variables is referred to as an array.

In order to fill the internal data structure, for each table andattribute combination, an SQL instruction must be generated whichaccesses the database and transfers the data into the product list. Thedata, which are always required in the data structure of the productfinder, can be dealt with by a static SQL instruction and transferredinto the product data structure. In order to generate correct dynamicSQL instructions, an administrator must define the quantity of tablenames and the associated attributes beforehand. The number of tables andattributes, respectively, thus also determines the number of attributesof an object in the product list. With reference to FIG. 2, it isdemonstrated how two dynamic SQL instructions and one static SQLinstruction are treated and how the respective attributes of the productlist are filled. A control button is characterized by the labelingfield, button type and stock of values. The labeling field defines thetext which tells the later user of the product finder which featureshe/she can set with the control button. The type defines whether thebutton is, for example, a check field or a selection field. The stock ofvalues is the quantity of values which can be set in the control button;these may be numbers, character strings or even truth values. In orderto set up the control button in the product finder, the administratormust indicate the type and the labeling field. The stock of values ofthe control button originates from attribute values from the productlist. In order to obtain the correct attribute values of the productlist, there is a projection to their respective objects of the productlist.

To summarize, it can be established that the filling of the stock ofvalues is always determined by the control button and the associatedvalues of an object in the product list. The parameters already defined(table name/attribute name of the database of the administrator), givenextension by type and labeling field of the control buttons, alsosimultaneously define the origin of the stock of values.

FIG. 3 shows an example in which two dynamic attributes and one staticattribute of each of the objects in the product list fill the stocks ofvalues of control buttons.

In the next step, a result list is created from the product list. Threecomponents are provided in order to fill the result list:

certain attributes of the product;

a selected value from the stock of values of a control button; and

a specified type of linkage.

If the value, again determined by a projection, of an attribute of anobject in the product list yields a valid value linked with the valuefrom the stock of values of the control button, then the entire objectfrom which the attribute originates is valid and can be transferred intothe result list if the other attributes with their types of linkage alsoyield valid values.

FIG. 4 illustrates the process of interactive selection with referenceto an example. In the example, the system or the user sets value W2 fromthe stock of values of control button B2. This value is linked bycomparison operator 2 to attribute Att. 2 of the product list and ischecked for validity. If this validity is fulfilled and all the othervalidities are fulfilled as well, then precisely this object is copiedinto the result list. The same is done with all the other objects in theproduct list.

The values of all the valid objects are now in the result list. Afterthe result list has been set up, the result list field is displayed forthe user. The result list field is a projection from the result list,i.e. only certain attribute values of each object in the result list aretaken over into the result list field. For the majority of productfinders, it is useful to output the name and color of the product forthe user.

Basically, there are two alternatives for integrating the product finderinto the Internet: the product finder runs at the server end and onlyinputs/results are transferred from/to the customer. The secondpossibility is to transfer the product finder as a program to thecomputer or browser of the customer.

The first alternative can be achieved with the aid of CGI programming.An HTML form is sent to the customer from a server. The customer insertshis/her entries in the selection-settings form. Using a “Send” button,the results of the selection are sent to a CGI script at the server end.It would use the settings to select the correct products from a databaseof the database management system, and the result would again be sentback to the customer as an HTML form.

One advantage of this method is that the form is very small and can betransmitted quickly to the customer. A further advantage results fromthe fact that a database query proceeds very quickly on a powerfulserver. The transmission of the result in the form of an HTML page isalso not time-critical. One disadvantage of this method is seen in thefact that, each time the customer varies his selection settings, hewould have to press the “Send” button and thus would repeatedly have toset up a connection to the server. Such a server connection delays theprovision of the desired result to the customer.

For the second alternative, in which the product finder runs at theclient end, there are two possibilities for implementation.

The first possibility for implementation is based on a script which runsat the client, such as Java script or Visual Basic script.

The second possibility for implementing the product finder at the clientend is based on programs which are integrated into the HTML pages to betransmitted. Such programs are, for example, Java applets or ActiveXcomponents. One advantage of this variant is that it permits immediateinteractivity with the customer. This means that the customer is able tomake selections which are processed immediately and for which the resultis available to the customer without any time delay.

The method of the present invention can be advantageously used ine-commerce applications on the Internet, because it makes it easier forthe customer to search for products.

What is claimed is:
 1. A method for database-supported selection ofproducts for electronic-commerce applications on the Internet,comprising: providing a database management system, wherein a usercontrols the selection of products using a control button; activatingthe database management system; reading out at least one data from adatabase of the database management system after activating the databasemanagement system, converting an internal data structure containing theproducts of the database and creating a product list containing objects;checking validity of the objects in the product list when a state changeof the control button is detected, wherein the state change of thecontrol button is detected by a comparison function, wherein thecomparison function (i) is composed by the user and (ii) includes aselected value of the control button, an associated attribute value ofat least one object of the objects in the product list, and a comparisonoperator for each selected value of the control button; entering theobjects determined valid into a result list; and imaging the result liston a result list field, wherein the result list field is displayed tothe user.